package top.tangyh.lamp.care.vo.result;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import top.tangyh.basic.base.entity.Entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description ="观察项配置明细表  观察项配置明细表")
public class ObsvCfgDetailDto   implements Serializable {


	private static final long serialVersionUID = -52696648504541824L;

	private Long id;


	@Schema(description ="观察项配置id")
	private Long obsvCfgId;

	@Schema(description ="观察标识，或标识，说明：为生命特征指标编码如spo2")
	@NotBlank(message = "观察标识不能为空")
	private String obsvCode;

	@Schema(description ="观察项名称，或含义")
	@NotBlank(message = "观察名称不能为空")
	private String obsvName;

	@Schema(description ="排序号,说明：权重，从大到小排序")
	private Integer orderNo;

	@Schema(description ="数据类型，说明：取数据字典name值，值为 integer,float,enum,boolean,string")
	private String dataType;

	@Schema(description ="数据定义，说明：仅针对枚举")
	private List<ObsvCfgDetailDto> dataDefine;

	@Schema(description ="标识单位，如血压的单位为：mmHg")
	private String propUnit;

	@Schema(description ="参考范围下限")
	private String refLower;

	@Schema(description ="参考范围上限")
	private String refUpper;

	@Schema(description ="默认值，说明：仅限枚举")
	private String defaultValue;

	@Schema(description ="必填，说明：1--必填，0--不是必须，默认0，仅限结构体子项")
	private Integer isRequired;

	/**
	 * 创建人
	 */
	@Schema(description = "创建人id")
	private Long createdBy;
	/**
	 *
	 */
	@Schema(description = "修改人id")
	private String updatedBy;
	/**
	 *
	 */
	@Schema(description = "创建时间")
	private LocalDateTime createdTime;
	/**
	 *
	 */
	@Schema(description = "修改时间")
	private LocalDateTime updatedTime;



	@Schema(description = "状态 0-否，1-是")
	private Integer isEnable;

	@Schema(description = "是否逻辑删除 0-否，1-是")
	private Integer isDeleted;

	@Schema(description = "是否可见 0-否，1-是，默认是1")
	private Integer isVisible;


	@Schema(description = "修改时间，说明：时间戳")
	private Long sortTime;

	@Schema(description = "数据是否来自设备 0-否，1-是，默认是1")
	private Integer isDev;


}